This invention is in the field of information and communications, and is more specifically directed to improved processes, circuits, devices, and systems for information and communication processing, and processes of operating and making them. Without limitation, the background is further described in connection with wireless and wireline communications processing.
Wireless and wireline communications of many types have gained increasing popularity in recent years. The mobile wireless (or “cellular”) telephone has become ubiquitous around the world. Mobile telephony has recently begun to communicate video and digital data, in addition to voice. Wireless devices, for communicating computer data over a wide area network, using mobile wireless telephone channels and techniques are also available. Wireline communications such as DSL and cable modems and wireline and wireless gateways to other networks are proliferating.
The market for portable devices such as cell phones and PDAs (personal digital assistants) is expanding with many more features and applications. More features and applications call for microprocessors to have high performance but with low power consumption. Thus, keeping the energy consumption for the microprocessor and related cores and chips to a minimum, given a set of performance requirements, is very important. In both the wireless and wireline areas, high efficiency of performance and in operational processes is essential to make affordable products available to a wider public.
Voice over Packet (VoP) communications are further expanding the options and user convenience in telephonic communications. An example is Voice over Internet Protocol (VoIP) enabling phone calls over the Internet.
Wireless and wireline data communications using wireless local area networks (WLAN), such as IEEE 802.11 compliant, have become especially popular in a wide range of installations, ranging from home networks to commercial establishments. Other wireless networks such as IEEE 802.16 (WiMax) are emerging. Short-range wireless data communication according to the “Bluetooth” and other IEEE 802.15 technology permits computer peripherals to communicate with a personal computer or workstation within the same room.
In very general terms, a speech coder or voice coder is based on the idea that the vocal chords and vocal tract are analogous to a filter. The vocal chords and vocal tract generally make a variety of sounds. Some sounds are voiced and generally have a pitch level or levels at a given time. Other sounds are unvoiced and have a rushing or whispering or sudden consonantal sound to them. To facilitate the voice coding process, voice sounds are converted into an electrical waveform by a microphone and analog to digital converter. The electrical waveform is conceptually cut up into successive frames of a few milliseconds in duration called a target signal. The frames are individually approximated by voice coder electronics.
In speech or voice coder electronics, pulses can be provided at different times to excite a filter. Each pulse has a very wide spectrum of frequencies which are comprised in the pulse. The filter selects some of the frequencies such as by passing only a band of frequencies, thus the term bandpass filter. Circuits and/or processes that provide various pulses, more or less filtered, excite the filter to supply as its output an approximation to the voice sounds of a target signal. Finding the appropriate pulses to use for the excitation pulses for the voice coder approximation purposes is involved in the subject of codebook search herein.
The filter(s) are characterized by a set of numbers called coefficients that, for example, may represent the impulse response over time when a filter is excited with a single pulse. Information identifying the appropriate pulses, and the values of the filter coefficients, and such other information as is desired, together compactly represent the speech in a given frame. The information is generated as bits of data by a processor chip that runs software or otherwise operates according to a speech coding procedure. Generally speaking, the output of a voice coder is this very compact representation which advantageously substitutes in communication for the vastly larger number of bits that would be needed to directly send over a communications network the voice signal converted into digital form at the output of the analog to digital converter were there no speech coding.
A speech or voice decoder is a coder in reverse in the sense that the decoder responds to the compact information sent over a network from a coder and produces a digital signal representing speech that can be converted by a digital-to-analog converter into an analog signal to produce actual sound in a loudspeaker or earphone.
Voice coders and decoders (codecs) run on RISC (Reduced Instruction Set Computing) or other processors and digital signal processing (DSP) chips and/or other integrated circuit devices that are vital to these systems and applications. Reducing the computer burden of voice codecs and increasing the efficiency of executing the software applications on these microprocessors generally are very important to achieve system performance and affordability goals. These goals become even more important in hand held and mobile applications where small size is so important, to control the real-estate, memory space and the power consumed.